// 请求拦截器
import nProgress from "nprogress"
// axios的配置
import axios from "axios"
// 引入ElementUI中的全局提示方法
import {MessageBox,Message} from "element-ui"
// console.log(ElementUI)
// console.log(MessageBox)
// axions的公共配置
let http = axios.create({
    withCredentials: true,//是否携带凭证
    baseURL: "/api",//基础地址
    timeout: 5000,//超时设置
})
http.interceptors.request.use(config => {
    nProgress.start()
    // confing就是请求的对象，可以拿到请求的地址参数等
        // return config就是放行
        let token = localStorage.getItem('qt-token')
    config.headers.authorization = token
        return config

})
http.interceptors.response.use(config => {
    // confing就是请求的对象，可以拿到请求的地址参数等
    nProgress.done()
    let {data:{state,msg,code}}=config;
    // 10022 登入过期
    // 1004  token过期
    // 10026 没有权限
    let codes=['10022','1004','10026']
    if(codes.includes(code)){
        // 清除token 刷新页面
        localStorage.removeItem('qt-token')
        location.reload()
    }
    if(!state){
        MessageBox.alert(msg,'错误提示',{type:"error"})
    }else{
       
    }
    return config
})
export default http; 